package dao;

import java.util.HashMap;
import java.util.List;

import model.Module;
import model.ModuleCheck;

import org.springframework.stereotype.Repository;

@Repository
public interface ModuleDao {

	/**
	 * 风琴结构的 一级菜单
	 * 
	 * @return
	 */
	public List<HashMap<String, Object>> queryMenu();

	/**
	 * 一级菜单 的 树形结构
	 * 
	 * @return
	 */
	public List<HashMap<String, Object>> queryMenuTree(Integer id);

	/**
	 * 风琴结构的 一级菜单(权限控制)
	 * 
	 * @return
	 */
	public List<HashMap<String, Object>> queryUserMenu(Integer userid);

	/**
	 * 一级菜单 的 树形结构(权限控制)
	 * 
	 * @return
	 */
	public List<HashMap<String, Object>> queryUserMenuTree(
			HashMap<String, Object> map);

	/**
	 * 模块管理列表 的 树形结构
	 * 
	 * @return
	 */
	public List<HashMap<String, Object>> queryTree(Integer id);

	/**
	 * 模块管理列表 的 json 树形
	 * 
	 * @return
	 */
	public List<Module> queryTreeList(Integer id);

	/**
	 * 模块管理列表 的 json 树形 （带勾选框）
	 * 
	 * @return
	 */
	public List<ModuleCheck> queryTreeCheckList(Integer id);

	/**
	 * 模块新增
	 * 
	 * @param user
	 * @return
	 */
	public void save(Module module);

	/**
	 * 模块修改
	 * 
	 * @param user
	 * @return
	 */
	public void update(Module module);

	/**
	 * 根据id获得对象
	 * 
	 * @param user
	 * @return
	 */
	public Module getById(Integer id);

}
